import java.util.Scanner;

/**
 * 循环
 *
 */
public class XunHuan {
    /**
     * 计算1+2+3+..+100的和
     * @param
     */
    static int sum(){
        int s=0;
        int i=1;
        while (i<=100){//for(int i=1;i<=100;i++) s=s+i;
            s=s+i;
            i=i+1;
        }
        return s;
    }

    /**
     * 计算n!
     * @return 阶乘
     */
    static double jieChen(int n){
        double j=1;
        //for(i=1;i<=n;i++) j=j*i;
            while (n>1){
                j=j*n;
                n--;}
        return j;
    }

    /**
     * 根据出入的年、月、日计算这一天星期几
     * （基础：1900年1月1日是星期一）
     * @param y 年
     * @param m 月
     * @param d 日
     * @return 星期几
     */
    static String week(int y,int m,int d){
        int days=(y-1900)*365;//从1900到y-1年的总天数，闰年暂时不算在内
         //加上闰年的天数:
        for (int i=1900;i<y;i++){     //for循环
            if (i%4==0&&i%100!=0||i%400==0) days++; //括号里是闰年的算法
        }
        //加上1到m-1月的天数:
        for (int i=1;i<m;i++){
            switch (i){   //switch 语句用于基于不同的条件来执行不同的动作。
                // 表达式的值会与结构中的每个 case 的值做比较。如果存在匹配，则与该 case 关联的代码块会被执行
                case 2:days+=28;
                if (y%4==0&&y%100!=0||y%400==0) days++;break;  //使用 break 来阻止代码自动地向下一个 case 运行
                case 4: case 6: case 9: case 11: days+=30;break;
                default:days+=30;break;
            }
        }
        days+=d;//加上这个月的天数
        String[] s={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        return s[days%7];
}


    public static void main(String[] args){
        int s=sum();
        System.out.println("1....100的和是:"+s);
        int n;
        Scanner in=new Scanner(System.in);
       /* System.out.println("请输入n的值：");
        n=in.nextInt();
        double j=jieChen(n);
        System.out.println(n+"!="+j);*/
        System.out.println("请输入年月日：");
        int y,m,d;
        y=in.nextInt();m=in.nextInt();d=in.nextInt();
        String w=week(y,m,d);
        System.out.println(y+"年"+m+"月"+d+"日"+"  "+w);
    }
}
